import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '../views/layout/Layout'

/**
 * hidden: true                   if `hidden:true` will not show in the sidebar(default is false)
 * alwaysShow: true               if set true, will always show the root menu, whatever its child routes length
 *                                if not set alwaysShow, only more than one route under the children
 *                                it will becomes nested mode, otherwise not show the root menu
 * redirect: noredirect           if `redirect:noredirect` will no redirct in the breadcrumb
 * name:'router-name'             the name is used by <keep-alive> (must set!!!)
 * meta : {
    title: 'title'               the name show in submenu and breadcrumb (recommend set)
    icon: 'svg-name'             the icon show in the sidebar,
  }
 **/
export const constantRouterMap = [
  {path: '/login', component: () => import('@/views/login/index'), hidden: true},
  {path: '/404', component: () => import('@/views/404'), hidden: true},
  {
    path: '',
    component: Layout,
    redirect: '/home',
    children: [{
      path: 'home',
      name: 'home',
      component: () => import('@/views/home/index'),
      meta: {title: '首页', icon: 'home'}
    }]
  }
]

export const asyncRouterMap = [
  {
    path: '/pms',
    component: Layout,
    redirect: '/pms/product',
    name: 'pms',
    meta: {title: '商品', icon: 'product'},
    children: [
      {
      path: 'product',
      name: 'product',
      component: () => import('@/views/pms/product/index'),
      meta: {title: '商品列表', icon: 'product-list'}
      },
      {
        path: 'addProduct',
        name: 'addProduct',
        component: () => import('@/views/pms/product/add'),
        meta: {title: '添加商品', icon: 'product-add'}
      },
      {
        path: 'updateProduct',
        name: 'updateProduct',
        component: () => import('@/views/pms/product/update'),
        meta: {title: '修改商品', icon: 'product-add'},
        hidden: true
      },
      {
        path: 'productCate',
        name: 'productCate',
        component: () => import('@/views/pms/productCate/index'),
        meta: {title: '商品分类', icon: 'product-cate'}
      },
      {
        path: 'addProductCate',
        name: 'addProductCate',
        component: () => import('@/views/pms/productCate/add'),
        meta: {title: '添加商品分类'},
        hidden: true
      },
      {
        path: 'updateProductCate',
        name: 'updateProductCate',
        component: () => import('@/views/pms/productCate/update'),
        meta: {title: '修改商品分类'},
        hidden: true
      },
      {
        path: 'productAttr',
        name: 'productAttr',
        component: () => import('@/views/pms/productAttr/index'),
        meta: {title: '商品类型', icon: 'product-attr'}
      },
      {
        path: 'productAttrList',
        name: 'productAttrList',
        component: () => import('@/views/pms/productAttr/productAttrList'),
        meta: {title: '商品属性列表'},
        hidden: true
      },
      {
        path: 'addProductAttr',
        name: 'addProductAttr',
        component: () => import('@/views/pms/productAttr/addProductAttr'),
        meta: {title: '添加商品属性'},
        hidden: true
      },
      {
        path: 'updateProductAttr',
        name: 'updateProductAttr',
        component: () => import('@/views/pms/productAttr/updateProductAttr'),
        meta: {title: '修改商品属性'},
        hidden: true
      },
      {
        path: 'brand',
        name: 'brand',
        component: () => import('@/views/pms/brand/index'),
        meta: {title: '品牌管理', icon: 'product-brand'}
      },
      {
        path: 'addBrand',
        name: 'addBrand',
        component: () => import('@/views/pms/brand/add'),
        meta: {title: '添加品牌'},
        hidden: true
      },
      {
        path: 'updateBrand',
        name: 'updateBrand',
        component: () => import('@/views/pms/brand/update'),
        meta: {title: '编辑品牌'},
        hidden: true
      }
    ]
  },
  {
    path:'/rms',
    component: Layout,
    redirect: '/rms/batteryLife',
    name: 'rms',
    meta: {title: '排行', icon: 'rms'},
    children: [
      {
        path: 'batteryLife',
        name: 'batteryLife',
        component: () => import('@/views/rms/batteryLife/index'),
        meta: {title: '电池续航排行', icon: 'rms-battery-life'}
      },
      {
        path: 'addBatteryLife',
        name: 'addBatteryLife',
        component: () => import('@/views/rms/batteryLife/add'),
        meta: {title: '添加电池续航'},
        hidden: true
      },
      {
        path: 'updateBatteryLife',
        name: 'updateBatteryLife',
        component: () => import('@/views/rms/batteryLife/update'),
        meta: {title: '修改电池续航'},
        hidden: true
      },
      {
        path: 'basic',
        name: 'basic',
        component: () => import('@/views/rms/basic/index'),
        meta: {title: '基本信息排行', icon: 'rms-basic'}
      },
      {
        path: 'addBasic',
        name: 'addBasic',
        component: () => import('@/views/rms/basic/add'),
        meta: {title: '添加基本信息'},
        hidden: true
      },
      {
        path: 'updateBasic',
        name: 'updateBasic',
        component: () => import('@/views/rms/basic/update'),
        meta: {title: '修改基本信息'},
        hidden: true
      },
      {
        path: 'charge',
        name: 'charge',
        component: () => import('@/views/rms/charge/index'),
        meta: {title: '充电排行', icon: 'rms-charge'}
      },
      {
        path: 'addCharge',
        name: 'addCharge',
        component: () => import('@/views/rms/charge/add'),
        meta: {title: '添加充电信息'},
        hidden: true
      },
      {
        path: 'updateCharge',
        name: 'updateCharge',
        component: () => import('@/views/rms/charge/update'),
        meta: {title: '修改充电信息'},
        hidden: true
      },
      {
        path: 'heat',
        name: 'heat',
        component: () => import('@/views/rms/heat/index'),
        meta: {title: '性能发热排行', icon: 'rms-heat'}
      },
      {
        path: 'addHeat',
        name: 'addHeat',
        component: () => import('@/views/rms/heat/add'),
        meta: {title: '添加性能发热信息'},
        hidden: true
      },
      {
        path: 'updateHeat',
        name: 'updateHeat',
        component: () => import('@/views/rms/heat/update'),
        meta: {title: '修改性能发热信息'},
        hidden: true
      },
      {
        path: 'game',
        name: 'game',
        component: () => import('@/views/rms/game/index'),
        meta: {title: '游戏帧率排行', icon: 'rms-game'}
      },
      {
        path: 'addGame',
        name: 'addGame',
        component: () => import('@/views/rms/game/add'),
        meta: {title: '添加游戏帧率信息'},
        hidden: true
      },
      {
        path: 'updateGame',
        name: 'updateGame',
        component: () => import('@/views/rms/game/update'),
        meta: {title: '修改游戏帧率信息'},
        hidden: true
      }
    ]
  },
  {
    path:'/fms',
    component: Layout,
    redirect: '/fms/frontBattery',
    name: 'fms',
    meta: {title: '排行-前台', icon: 'fms'},
    children: [
      {
        path: 'frontBattery',
        name: 'frontBattery',
        component: () => import('@/views/fms/frontBattery/index'),
        meta: {title: '排行-电池续航', icon: 'rms-battery-life'}
      },
      {
        path: 'frontBasic',
        name: 'frontBasic',
        component: () => import('@/views/fms/frontBasic/index'),
        meta: {title: '排行-基本信息', icon: 'rms-basic'}
      },
      {
        path: 'frontCharge',
        name: 'frontCharge',
        component: () => import('@/views/fms/frontCharge/index'),
        meta: {title: '排行-充电时间', icon: 'rms-charge'}
      },
      {
        path: 'frontGame',
        name: 'frontGame',
        component: () => import('@/views/fms/frontGame/index'),
        meta: {title: '排行-游戏帧率', icon: 'rms-game'}
      },
      {
        path: 'frontHeat',
        name: 'frontHeat',
        component: () => import('@/views/fms/frontHeat/index'),
        meta: {title: '排行-性能发热', icon: 'rms-heat'}
      },
    ]
  },
  {
    path:'/ums',
    component: Layout,
    redirect: '/ums/admin',
    name: 'ums',
    meta: {title: '权限', icon: 'ums'},
    children: [
      {
        path: 'admin',
        name: 'admin',
        component: () => import('@/views/ums/admin/index'),
        meta: {title: '用户列表', icon: 'ums-admin'}
      },
      {
        path: 'role',
        name: 'role',
        component: () => import('@/views/ums/role/index'),
        meta: {title: '角色列表', icon: 'ums-role'}
      },
      {
        path: 'allocMenu',
        name: 'allocMenu',
        component: () => import('@/views/ums/role/allocMenu'),
        meta: {title: '分配菜单'},
        hidden: true
      },
      {
        path: 'allocResource',
        name: 'allocResource',
        component: () => import('@/views/ums/role/allocResource'),
        meta: {title: '分配资源'},
        hidden: true
      },
      {
        path: 'menu',
        name: 'menu',
        component: () => import('@/views/ums/menu/index'),
        meta: {title: '菜单列表', icon: 'ums-menu'}
      },
      {
        path: 'addMenu',
        name: 'addMenu',
        component: () => import('@/views/ums/menu/add'),
        meta: {title: '添加菜单'},
        hidden: true
      },
      {
        path: 'updateMenu',
        name: 'updateMenu',
        component: () => import('@/views/ums/menu/update'),
        meta: {title: '修改菜单'},
        hidden: true
      },
      {
        path: 'resource',
        name: 'resource',
        component: () => import('@/views/ums/resource/index'),
        meta: {title: '资源列表', icon: 'ums-resource'}
      },
      {
        path: 'resourceCategory',
        name: 'resourceCategory',
        component: () => import('@/views/ums/resource/categoryList'),
        meta: {title: '资源分类'},
        hidden: true
      }
    ]
  },
  {path: '*', redirect: '/404', hidden: true}
]

export default new Router({
  // mode: 'history', //后端支持可开
  scrollBehavior: () => ({y: 0}),
  routes: constantRouterMap
})

